Tape backup devices and tape media storage are ubiquitous in the data backup and recovery field. Because of the low-cost of production, speed of use and robustness of the media, tape backup remains a popular choice for data backup and recovery. Despite longtime use and popularity, there are still ways to improve upon existing tape media technology.
A tape backup system may be comprised of multiple components, where each component is responsible for some portion of the backup of data from a client computer to a tape backup device. The tape backup device may be directly connected to the client computer, or it may be controlled by a separate tape backup server. Backup and recovery software may control the tape backup device and may enable migration of the data from the client computer to the tape backup device. This software may reside on the tape backup server, or may reside on the client computer, or may be distributed partially on both computers. The backup and recovery software manages tape backup and recovery processes. Specifically, the backup and recovery software helps move data from the client computer to the tape device during backup, and/or helps move data from the tape device to the client computer during recovery. One will appreciate that this may be a standalone software application or form part of another integrated software application, such as an operating system or device controller software program.
Data is sent and written to tape using a method known as “streaming” or transmitting “data streams.” In some cases, data is sent in packets based upon the buffer capacity of the tape backup server (or the client computer). These packets are called “data blocks.” A backup server may stream data from the client computer to the tape device one data block at a time, or may simultaneously stream multiple data blocks to the tape device. Once written to the tape media, the backup and recovery software may provide further organization of the stored data. For example, the backup and recovery software may cause the tape media to use tapemarks to organize data blocks written to tape. Tapemarks include filemarks and setmarks, which are two tape markers that can be written on the tape media. These markers may consist of a string of characters, numbers or bits recognized by the backup and recovery software as different portions of the tape media. In some tape backup devices, the data between two filemarks is called a “tape file,” which may include one or more data blocks. Setmarks may encompass one or more tape files, and therefore may encompass multiple filemarks. Setmarks and filemarks are useful because they provide a convenient way to separate tape files such that files may be located by referring to setmarks and filemarks rather than searching the whole tape. Tape devices typically store a large number of tape files. In addition, tapemarks may be strung together to signify special portions of the tape. For example, two consecutive filemarks may indicate the end of data on a tape volume. The purpose of these tapemarks is to allow quick tape navigation, since the backup and recovery software keeps track of the number and location of each tapemark it has created.
Tapemarks are also useful during recovery. When a client computer sends a request to the backup and recovery software to recover certain data files that have been backed up to tape, the backup and recovery software must locate and deliver these data files back to the client. Because of the large number of data files on the tape, it is tedious to search the tape device to find the requested data files. In order to speed up data recovery, the backup and recovery software may refer to the tapemark nearest the requested data files. This tapemark information may form part of the client computer's request, or it may be looked up by the backup and recovery software using an internally stored directory of used tapemarks. In either case, the backup and recovery software will deduce the location of the requested data files by referring to how many tapemarks away from the beginning of tape (“BOT”) or how many tapemarks away from the end of tape (“EOT”). For example, a requested data file may be located at the fifth tapemark from BOT, another at the seventh tapemark from BOT, and another at the third tapemark from EOT. The backup and recovery software will then advance or reverse the tape media until it finds the correct tapemark, and then it will advance or reverse the tape media until it finds the requested data file. Using tapemarks therefore reduces the amount of time for data file recovery, because it is faster for the tape device to advance or reverse to a specific tapemark, rather than requiring a search through all the data files on the tape media. Tapemarks are detectable at high speeds, thus allowing quicker positioning of the tape media near the requested data files.
Present tape storage devices are limited to a single type of tapemark. In other words, all of the tapemarks written on the tape will consist of the same string of numbers, characters or bits. As such, when a data recovery request is sent to the tape device, the software or the tape controller must refer to the respective tapemark by number, which may be based on the number of tapemarks from the BOT or EOT. As more data and more tapemarks are written to the tape, this method of recovery can become cumbersome and can lead to data recovery error or failures. Further, if the user needs to recover multiple data files located near many different tapemarks, recovery may be slowed as the tape backup device has to advance and/or reverse the tape media to find the requested data files. In addition to lengthening recovery time, this causes wear and tear on the tape device. Advancing and reversing the tape media over and over again for a single request of multiple data files will eventually lead to mechanical failure. As such, instructing the tape device to repeatedly position the tape is sub-optimal. It would be beneficial to find a way to extend the functionality of current tapemarks without creating a large data footprint on the tape media. What is therefore needed is a more efficient way to navigate tape media and locate desired tape files for recovery, while reducing wear and tear on the tape device.